import request from '@/config/axios'

// 邮件模版 VO
export interface MailTemplateVO {
  id: number // 编号
  name: string // 模板名称
  code: string // 模板编码
  accountId: number // 邮箱账号
  nickname: string // 发送人名称
  title: string // 模板标题
  content: string // 模板内容
  status: number // 开启状态
  remark: string // 备注
}

export interface MailTemplateSendVO {
  mail: string
  templateCode: string
  templateParams: Map<String, Object>
}

// 邮件模版 API
export const MailTemplateApi = {
  // 获取邮件模版分页
  getMailTemplatePage: async (params: PageParam) => {
    return await request.get({ url: `/system/mail-template/page`, params })
  },

  // 获取邮件模版详情
  getMailTemplate: async (id: number) => {
    return await request.get({ url: `/system/mail-template/get`, params: { id } })
  },

  // 新增邮件模版
  createMailTemplate: async (data: MailTemplateVO) => {
    return await request.post({ url: `/system/mail-template/create`, data })
  },

  // 修改邮件模版
  updateMailTemplate: async (data: MailTemplateVO) => {
    return await request.post({ url: `/system/mail-template/update`, data })
  },

  // 删除邮件模版
  deleteMailTemplate: async (id: number) => {
    return await request.delete({ url: `/system/mail-template/delete`, params: { id } })
  },

  // 发送模板邮件
  sendMailTemplate: async (data: MailTemplateSendVO) => {
    return await request.post({ url: `/system/mail-template/send-mail`, data })
  },

  // 导出邮件模版 Excel
  exportMailTemplate: async (params) => {
    return await request.download({ url: `/system/mail-template/export-excel`, params })
  }
}
